﻿using System;
using System.Collections.Generic;


namespace Battle
{

    public enum BattleState
    {
        ResourceLoadState,
        EntranceState,
        BattleRunningState,
        ResultState,
    }

    public enum BattleRoundState
    {
        ShowCampRunState,
        RoundEnterState,
        RoundWaitState,
        FormationTransferState,
        AttackingState,
        UltimateBeforeState,
        UltimateState,
        UltimateEndState,
        RoundLeaveState,
    }

    /// <summary>
    /// View层的BattleCharacter状态
    /// </summary>
    public enum ActorState
    {
        None,
        Entrance,           // 入场

        AttackReady,        // 攻击待机
        AttackMoveForward,  // 移动到攻击
        Attack,             // 攻击中 
        AttackWait,         // 攻击等待
        AttackMoveBackward, // 移动回来 

        Ultimate,           // 释放大招
        Ultimated,          // 被释放大招

        TransFormation,     // 换阵中

        Defend,             // 防御中

        Dead,               // 死了

        Celebrate,          // 庆祝
    }

    public enum DefendState
    {
        IDLE,   //空闲
        FLOAT,  //浮空
        FALL,   //倒地
    }

    public enum FloatState
    {
        UP, //上升
        HIT,//被击

    }

    public enum IdleState
    {
        NORMAL,     //正常
        FLOAT_DOWN, //浮空到摔倒在地
    }

    public enum FallState
    {
        DOWN,
        HIT,
    }

    public enum BattleCamp
    {
        Attacker,
        Defender,
    }

    public enum SkillType
    {
        Skill1,                 // 一段技能
        Skill2,                 // 二段技能
        Ultimate,               // 大招
    }

    public enum TransForward
    {
        Forward,                // 顺时针换阵
        Backward,               // 逆时针换阵
    }
    public enum SkillCastSelectPointRule
    {
        None,
        MeleeForward,
        MeleeCenter,
        MelleBackward,
        Remote,
        Row,
        Col,
    }

    public enum ActorSpecialState
    {
        NONE,
        NORMAL,
        FLOOR,
        GROUND,
    }

    public enum ProjectileFlyType
    {
        NONE,                   // 无
        LINER,                  // 线性
        PALABORA,               // 抛物线
    }

    public enum OnceAttackSourceType
    {
        Skill,
        Buff,
        Talent
    }

   



    public enum HpInfSpecialType
    {
        None = 0,           // 无特殊
        Invincible = 1,     // 0无敌
        Miss = 2,           // 0闪避
        Crit = 3,           // 暴击
        Block = 4,          // 格挡
        CritAndBlock = 5,   // 暴击且格挡
        Immune = 6,         // 0免疫，伤害没了，禁止回血
        CounterStrike = 7,  // 反伤
        AdditionAtt = 8,    // 额外攻击
        poisonDam = 9,      // 毒伤
        fireDam = 10,        // 火伤
        Recover = 11,       // 回复
        Bleeding = 12,       // 流血
        Lifesteal = 13,     // 吸血
        Headshot = 14,      // 爆头
        Buff = 15,      // buff
        Shield = 16,      // 血盾吸收
        Rebound = 17,      // 复活血量
    }

    public enum AttackCameraRule
    {
        Melee,
        Remote
    }

    public enum BattleSpeed
    {
        _1x,
        _2x,
    }
}


namespace Battle.Engine
{
    /// <summary>
    /// 技能类型
    /// </summary>
    public enum SkillClass
    {
        None = -1,
        IMMEDIATE = 0,//立即触发性技能，立即产生输出
        IMMEDIATE_PROJECT = 1,// 发射抛射物技能，抛射物时间到产生输出        
    }


    public enum SelectLimitCondition
    {
        /// <summary>
        /// 无限制条件
        /// </summary>
        None,
        /// <summary>
        /// 单位存活 
        /// </summary>
        Alive,
        /// <summary>
        /// 单位不是隐身
        /// </summary>
        NoInvisible,
        /// <summary>
        /// 单位不是无敌
        /// </summary>
        NoInvincible,
    }

    /// <summary>
    /// 选择策略
    /// </summary>
    public enum SelectStrategy
    {
        SELF = 0, //自己
        SAME_AS_LAST_RELEASE = 1, //与上次release一样
        SAME_AS_CAST = 2, //与cast一样
        FIRST_ONE = 3, //第一个（位置顺序）
        FIRST_RANDOM1 = 4, //第一个加随机一个
        FIRST_RANDOM2 = 5, //第一个加随机两个
        RANDOM1 = 6, //随机一个
        RANDOM2 = 7, //随机两个
        RANDOM3 = 8, //随机三个
        LAST_ONE = 9, //最后一个
        ALL = 10, //全体
        FRONT_ROW = 11, //前排
        MIDDLE_ROW = 12, //中排
        BACK_ROW = 13, //后排
        FRONT_TWO_ROWS = 14, //固定前两排
        BACK_TWO_ROWS = 15, //固定后两排
        MIN_HP = 16, //血量最少
        MAX_HP = 17, //血量最多
        OPPOSITE = 18, //正对位,对位无人则选第一个
        FIRST_ONE_LINE = 19, //第一人所在的直线列
        FIRST_ONE_FRONT_TWO_ROWS = 20, //第一人所在前两排
        FIRST_ONE_SQUARED = 21, //第一人为中心的九宫格
        OPPOSITE_ONE_SQUARED = 22, //对位人为中心的九宫格
        LAST_ONE_SQUARED = 23, //最后一人为中心的九宫格
        RANDOM_WITHOUT_SELECT = 24, //排除已命中人后进行随机一人，若全部命中过，则清空已命中再随机
        MORE_HP = 25, //血量比自己大
        MAX_ATT = 26, //攻击最高
        MIN_PDEF = 27, //物理防御最低
        MIN_MDEF = 28, //魔法防御最低
        FIRST_DIE = 30, //当场战斗死亡的第一人
        MAX_MINUS_HP = 31, //掉血最多的人
    }

    public enum BUFFHitClass
    {
        INDEPENDENT = 0,//独立buff
        SKILLBUFF = 1,//技能命中buff
        SKILLCRIBUFF = 2,//技能暴击buff
        SKILLENDBUFF = 3,//技能攻击后
    }

    //BUFF来源
    public enum BuffSourceClass
    {
        NONE = -1,
        HERO = 0,//天赋BUFF
        SKILLCAST = 1,//技能BUFF
    }


    public enum SpeState
    {
        NONE = 0,
        NORMAL = 1,//正常状态
        FLOAT = 2,//浮空
        FALL = 3,//倒地
    }

    //伤害类型
    public enum AttackType
    {
        NONE = 0,
        PHY = 1,//物攻
        MAG = 2,//魔攻
        TREAT = 3,//治疗
    }

    public enum ExportValueClass
    {
        NONE = 0,
        HP = 1,//血量
        ANGER = 2,//怒气
        DOUBLE_HIT = 3,//连击
        SPE_STATE = 4,//浮空倒地的状态
        MAGIC_STONE = 5,//炎魔石掉落
        WATER_BALL = 6,
    }

    //天赋BUFF触发时机
    public enum TalentBuffTriggerTimer
    {
        Forever = 0,//永久
        FightBegin = 1,//战斗开始时
        SelfRoundBegin = 2,//己方回合开始时
        EnemyRoundBegin = 3,//敌方回合开始时
        AllAtt = 4,//所有攻击时
        NormalAtt = 5,//普通攻击时
        UltimateAtt = 6,//特殊攻击时
        AllHurt = 7,//被攻击时
        NormalHurt = 8,//被普通攻击时
        UltimateHurt = 9,//被特殊攻击时
        Health = 10,//被技能治疗时
        Dodge = 11,//闪避时
        Hit = 12,//技能命中时
        Cri = 13,//技能暴击时
        BeCri = 14,//被技能暴击时
        TeammateBeCri = 15, //友方受到暴击时
        Die = 16,//自己死亡时
        TeammateDie = 17,//队友死亡时
        Kill = 18,//大招技能击杀对方时
        HpDown40InRound = 19,//回合内队友被技能攻击血量降低40%时
        AllAttEnd = 20,//所有攻击后
        NormalAttEnd = 21,//普通攻击后
        UltimateAttEnd = 22,//特殊攻击后
        Block = 23,//格挡时
        HpLessZero = 24,//血量被减为0时
        TargetNotDie = 25, //没有击杀技能目标时
        BeCastNotHit = 26, //被技能选中当还未计算命中时

    }

    //buff触发条件
    public enum BuffTriggerCondition
    {
        NONE = 0,           //无条件限制
        PropertyVal = 1,    //属性条件
        HpPercent = 2,      //血量百分比
    }

    //天赋触发条件参数
    public enum ConditionParam
    {
        ReadVal = 1, //自定义
        SelfCur = 2, //自己当前
        TargetCur = 3, //目标当前
    }

    //天赋触发条件判断
    public enum ConditionOP
    {
        More = 1, //大于
        MoreAndEqual = 2, //大于等于
        Equal = 3, //等于
        LessAndEqual = 4, //小于等于
        Less = 5, //小于
        Remainder = 6, //取余
    }

    /// <summary>
    /// 阵营信息
    /// </summary>
    public enum CampType
    {
        ATTACK = 0,//攻方
        DEFENCE = 1,//守方
    }

    /// <summary>
    /// BUFF类型
    /// </summary>
    public enum BuffClass
    {
        Property,                       // 属性变化
        PropertyTransfer,               // 属性转换
        State,                          // 状态变化
        Dispel,                         // buff驱散
        Random,                         // 随机buff
        DelayCreate,                    // 延迟一定的时间后创建新buff挂上
        None,
    }


  
}


public class AniName
{
    public const string IDLE_FIGHT = "standfight";
    public const string STUN = "dizzy";
    public const string BEHIT = "hit";
    //public const string FLOAT_FLY = "floata";
    //public const string FLOAT_HIT = "floatb";
    //public const string FLOAT_DOWN = "floatc";

    public const string FLOAT_FLY = "floata";
    //public const string FLOAT_HIT = "floatb";
    //public const string FLOAT_DOWN = "floatc";


    public const string FALL_DOWN = "falla";
    public const string FALL_HIT = "fallb";
    public const string FALL_GET_UP = "fallc";
    public const string RUN_FIGHT = "runfight";
    public const string JUMP_FORWARD = "jumpf";
    public const string JUMP_BACKWARD = "jumpb";
    public const string RUSH = "rush";
    public const string STAND = "stand";
    public const string WIN = "win";
    public const string RUN = "run";
    public const string STAND_WEAK = "standweak";

    public const string ULITMATE_READY = "ready";
    public const string WA_KUANG = "wakuang";
    public const string DIAO_YU = "diaoyu";

    public const string JU_QING = "juqing";

    public const string NPC_STAND = "stand1";
    public const string STAND_FIGHT = "standfight";
}

public class LayerName
{
    public const int Default = 0;
    public const int UI = 5;
    public const int SceneActor = 8;
    public const int SceneActorFocus = 9;
    public const int SceneParticle = 10;
    public const int Occlusion = 13;
}

namespace UI
{
    /// <summary>
    /// 物品类型
    /// </summary>
    public class ItemType
    {
        public const int PLAYER_PROP_ITEM = 1;  //主动使用且直接增加基本属性类
        public const int GET_OTHER_ITEM = 2;    //主动使用可获得其他物品类<通过TableUseItem即可直接得到>
        public const int PASSITIVE_ITEM = 4;    //被动消耗类<潜力研发材料,进阶丹,经验熊猫>)
        public const int HERO_FIRST_ITEM = 5;   //使用后,需要选择一种武将,选择后才能获得 
        public const int PLUNDER_AVOID = 6;     //夺宝里的免战石
        public const int SPECIAL_ITEM = 11;     //具有单一特殊用途类;
        public const int CLIENT_ONLY = 12;//仅供客户端使用,服务端忽略
        public const int LIFE_SKILL_ITEM = 15;  //习得生活技能
        public const int WILD_HP_RECOVER = 16;  //野外使用后可恢复全队x%的血量
    }

    public enum EffectLevel
    {
        LOW,
        MIDDLE,
        HIGH,
    }

    public enum TextureIcon
    {
        HERO,
        SKILL,
        EQUIP,
        TREASURE,
        ITEM,
        TREA2D,
        FISH,
        MINE,
        DAILYTASK,
        UNIONPRAY,
        UNIONFIGHTITEMS,
        UNIONLOGO,
        PET,
        //todo
    }

    /// <summary>
    /// 英雄和装备品质：白绿蓝紫橙红
    /// </summary>
    public enum QualityValue
    {
        WHITE = 8,
        GREEN = 12,
        BLUE = 13,
        PURPLE = 18,
        YELLOW = 20,
        RED = 23
    }

    //数值属性。
    public enum AttributeQueue : int
    {
        Hp = 0,//血量
        Attack = 1,//攻击
        PhyDefend = 2,//物防
        MagicDefend = 3,//魔防
        hit = 4,//命中
        dodge = 5,//闪避
        cri = 6,//暴击率
        antiCri = 7,//抗暴击率
        criFactor = 8,//暴击系数
        damageAdd = 9,//伤害加成
        damageReduce = 10,//伤害减免
        Aptitude = 11, //资质，天资
    }

    public enum GemColorType :int
    {
        RED = 1,
        PURPLE = 2,
        GREEN = 3,
        BLUE = 4,
        YELLOW = 5,
        WHITE = 6,
        COLORFUL = 7,
    }

    /// <summary>
    /// 强化大师类型
    /// </summary>
    public enum MasterType : int
    {
        Equip_Strengh = 1,
        Equip_Refine = 2,
        Acc_Strenth = 3,
        Acc_Refine = 4,
    }

    public enum ChatMessageType : int
    {
        NORMAL = 0,
        PVP_REPLAY = 1,
    }

    /// <summary>
    /// 背包类型
    /// </summary>
    public enum BagType : int
    {
        Item = 1,
        Character = 2,
        Equipment = 3,
        Pet = 4,
        CharacterFrag = 5,
        EquipmentFrag = 6,
        PetFrag = 7,
        Food = 8,
        Mine = 9,
       
    }

    public enum UIItemType
    {
        NONE,
        Hero,
        HeroFrag,
        Equip,
        EquipFrag,
        Treasure,
        TreasureFrag,
        Item,
        Coin,
        Diamond,
        Light,
        Popularity,
        exp,
        Point,
        Score,
        Fish,
        Mine,
        UnionFightItems,
        Contribution
    }

    public static class FishItemType
    {
        public const string DOCK = "dock";
        public const string FISH = "fish";
        public const string DISH = "dish";
    }

    public static class MineItemType
    {
        public const string STONE = "stone";
        public const string GEM = "gem";
        public const string MAGICGEM = "magicGem";
        public const string MAGICSTOEN = "magicStone";
        public const string POWDER = "powder";
    }

    public static class FontColor
    {
        //f2f2f2,   4de5ae   2b69da  752bda     c14400    c82323
        public static readonly string WHITE = "f2f2f2";
        public static readonly string GREEN = "4de5ae";
        public static readonly string BLUE = "2b69da";
        public static readonly string PURPLE = "752bda";
        public static readonly string YELLOW = "c14400";
        public static readonly string RED = "c82323";

        public static string Get(int value)
        {
            if (value == (int)QualityValue.BLUE) return BLUE;
            if (value == (int)QualityValue.WHITE) return WHITE;
            if (value == (int)QualityValue.GREEN) return GREEN;
            if (value == (int)QualityValue.PURPLE) return PURPLE;
            if (value == (int)QualityValue.YELLOW) return YELLOW;
            if (value == (int)QualityValue.RED) return RED;

            return WHITE;
        }

    }
   
}

namespace Chat
{
    public enum ChatType
    {
        None = 0,
        World = 1,
        Group = 2,
        Person = 3,
        Near = 4,
        Field = 5,
        Fight = 6
    }
}

namespace Room
{
    public enum RoomType
    {
        None,
        Town,
        Copy,
        Field,

    }

    public enum CharactorType
    {
        None,
        SelfPlayer,
        OtherPlayer,
        Monster,
        NormalNPC,
        StoryNPC,
        ActorNPC,
        Area,
        Box,
        AirWall,
        Fish,
        Mine,    //矿
        Stronghold,           // WorldBoss据点
        SafeArea, //安全区域
        Prison,//监狱
        ServerMonster,//服务器怪
        FieldBoss, //野外boss
        PatrolNPC,
        Pet,
        #region 公会战
        UnionFightSelf,  //公会战自己
        UnionFightOther, //公会战角色
        UnionFightMonster, //公会战怪物
        UnionFightBoss,
        UnionFightCamp,  //公会战：营地
        UnionFightTower, //公会战：塔
        UnionFightChariot, 
        UnionFightChariotFactory,
        UnionFightGuard,
        UnionFightGate,
        UnionFightRevivePoint,
        UnionFightMine,
        UnionFightTree,
        UnionFightNpc,
        UnionFightTotem,
        UnionFightTransfer,//公会战：传输
        #endregion
    }

    public enum AIType
    {
        None,
        Self,           //主角 刷新人物、装备等
        OtherPlayer,    //其他玩家 移动时播放run动画，停止时播放stand
        Monster,        //怪物AI
        NormalNPC,      //NPC，播放指定动画
        Area,           //区域 圆形，主角进入区域时 打开界面或触发消息
        Box,            //宝箱，播放打开、关闭的东湖
        AirWall,
        Fish,           //鱼
        Mine,           //矿 
        ServerMonster,   //不追人的怪物
        FieldPlayer,    //其他野外玩家
        SafeArea,       //安全区域
        Prison,         //监狱
        FieldBoss,      //野外boss
        PatrolNPC,
        UnionNPC,
        Pet,            //宠物：Pet
        #region 公会战
        UnionSelf,      //公会战：自己
        UnionOther,     //公会战：other
        UnionTower,     //公会战：塔
        UnionActor,     //公会战：角色
        UnionMonster,   //公会战：怪物
        UnionChariot,   //公会战：战车
        UnionChariotFactory, //战车工厂
        UnionGuard,     //公会战：守卫
        UnionGate,      //公会战：城门
        UnionTree,      //公会战：树木
        UnionMine,      //公会战：矿石
        UnionRevivePoint,//公会战：复活点
        UnionBaseCamp,     //公会战：大本营
        UnionTotem,     //公会战：图腾
        UnionTransfer,  //公会战：传输
        #endregion
    }

    public enum LODType
    {
        None,
        Player,         //玩家模型
        Box,            //宝箱模型
        AirWall,        //空气墙
        Fish,           //鱼
        Mine,           //矿
        Pet,
        Stronghold,     //世界BOSS据点
        UnionChariot,   //公会战：战车
        UnionGuard,     //公会战：守卫
        UnionMine,      //公会战
        UnionNpc,       //公会战：Npc
        UnionRevivePoint,
    }

    public enum MoveType
    {
        None,
        Simple,         //直接飞
        Navigation,     //普通网格寻路
        Monster,        //先转身、再直走
        SamplePosition, //采样一个点
        Fixed,          //固定位置死的，不会移动
        Chariot,        //战车移动，不寻路
    }

    public enum UIType
    {
        None,
        Player,         //玩家名字
        NormalNPC,      //功能npc，点了后弹出界面
        StoryNPC,       //剧情npc，点了后弹默认气泡并发消息
        Box,            //宝箱，点了后领取奖励
        Fish,           //鱼
        Mine,           //矿
        FishGuide,      //假鱼
        MineGuide,      //假矿
        Stronghold,     // 据点
        ServerMonster,  //野外怪
        FieldBoss,      //野外Boss
        UnionNPC,       //公会NPC
        UnionActor,     //公会战玩家
        UnionChariot,   //公会战：战车
        UnionRevivePoint,//公会战：复活点
        UnionMine,       //公会战：矿
        UnionGuard,      //公会战：守卫
        UnionFightNpc,   //公会战：NPC
        UnionTower,      //公会战：塔
        UnionGate,       //公会战：门
        UnionMonster,    //公会战：怪物
        UnionTotem,      //公会战：图腾
    }

    public enum ImportanceType
    {
        None = 0,
        Stranger = 1,//陌生人
        GuildMembers = 2,//公会成员
        Teammate = 3,//队友
    }

    public enum LODLevel
    {
        None = 0,   //最低，什么都不显示
        Low = 1,// 贴图?
        Medium = 2,//静态模型?
        High = 3,//原本样子
    }

    public enum MonsterAIState
    {
        None,
        Born,
        Rest,
        Move,
        Pursue,
        Hold,
        BackBorn,
        Dead,
        DefendSuccess,
    }

    public class PlayerAIState
    {
        public const int None= -1;
        public const int Normal = 0;
        public const int Shopping = 2;
        public const int Fishing = 3;
        public const int Mining = 4;
        public const int Death = 5;
        public const int Attack = 6;
        public const int Defend = 7;
        public const int Arress = 8;
    }

    public enum PlayerParticle
    {
        Born,
        Dead,
        Light,
        Attack,
        Defend,
    }


    public class ServerMonsterAIState
    {
        public const int None = 0;
        public const int Normal = 1;
        public const int Battle = 2;
        public const int Death = 3;
    }


    public enum FieldBossAIState
    {
        None,
        Normal=1,
        Death=3,
    }


    public enum NPCType
    {
        Normal = 0,
        Story = 1,
        Actor = 2,
        Patrol = 3,
        Union=4,
    }

}

public enum StrongholdState {
    Defend,
    Fighting,
    Rewarding,
    Defeat,
}

public enum SceneType
{
    LOGIN,
    BATTLE,
    TOWN,
    COPY,
    FIELD,//野外
    RAID,   // 世界BOSS
    RUSH,
    CARD_VIEW,
    UNION,//公会
    UNIONFIGHT,//公会战
}


public enum HeroClass
{
    Hero = 0,
    Monster = 1,
    Exp_Eater = 99,
    Main_Actor_Man = 100,
    Main_Actor_Woman = 101,
}


public enum BattleType
{
    FIRST,          // 登陆前的首次战斗
    PVE,            // 下副本
    PVP,            // 竞技场
    PLUNDER,        // 夺宝
    ACTIVITY,       //活动副本
    FIELD_PVP,      //野外PVP
    FIELD_PVE,      //野外PVE
    BOSS_RAIDER,    // 攻略BOSS
    WANTED,         // 悬赏
    RUSH,           // 闯关
    RUSH_BOSS,      // 闯关精英BOSS
    FRIEND_PVP,     //好友切磋
    FIELD_BOSS,     //野外boss
    RECRUIT_SHOW,   // 王者招募展示
    UNION_FIGHT,    //公会战
}

namespace Story
{
    public enum QuestType
    {
        Copy = 0,
        Town = 1
    }

    public enum EventType
    {
        None = 0,           //立刻
        EnterTown,          //进入主城（主城场景）
        ClickNPC,           //点击NPC
        EnterArea,          //进入区域
        BeforeEnterCopy,    //进入副本前（副本场景）
        AfterEnterCopy,     //进入副本后（副本场景）
        StartTaskBattle,    //进入副本战斗（战斗场景）
        WinTaskBattle,      //副本战斗胜利（副本场景）
        LevelUp,            //升级
    }

    public enum ActionType
    {
        None=0,             //无
        Tip,                //提示
        Delay,              //等待时间
        Dialog2D,           //2D立绘对话
        Guide,              //引导
        QuestComplete,      //任务完成(领取奖励)
        Bubble,             //令一个单位冒气泡说话
        MoveCamera,         //移动镜头
        CreateNPC,          //创造一个单位
        DestroyCharactor,   //销毁一个单位
        MoveCharactor,      //移动一个单位
        PlayCharactorAnim,  //播放动画
        RotateCharactor,    //使一个单位转向
        StayCopy,           //阻止离开副本
        LeaveCopy,          //离开副本回到主城
        ForbidControl,      //禁止操作
        PermitControl,      //允许操作
        PositionCharactor,  //设置单位位置
        StartCopyBattle,    //开始副本战斗
        PlayParticle,       //播放粒子特效
    }

    public enum DialogState
    {
        None = 0,
        Start,
        Next,
        Content,
        Wait,
        Hide,
        End,
    }

    /// <summary>
    /// 缘分类型
    /// </summary>
    public enum LuckType
    {
        Hero,
        Treasure,
        Equipment,
    }


   
}


public enum ModelCommonExpressType
{
    Normal,             // 普通状态
    Anger,              // 愤怒状态
    Hurt                // 受伤状态
}

public enum ModelExpressDetail {
    /// <summary>
    /// 平静的表情
    /// </summary>
    CALM,               
    /// <summary>
    /// 闭眼的表情
    /// </summary>
    CLOSE_EYE,
    /// <summary>
    /// 愤怒的表情
    /// </summary>
    ANGER,
    /// <summary>
    /// 受伤的表情
    /// </summary>
    HIT,
    /// <summary>
    /// 特殊表情
    /// </summary>
    SPECIAL
}

public class SceneName
{
    public const string sceneFolder = "map/";
    public const string login = "login";
    public const string town = "map_city_001";
    public const string selectHero = "map_select_001";
    public const string union = "map_guild_001";
    public const string unionFight = "map_battle_001";
}

public enum BalanceLeaveOption {
    None,
    Lottery,
    EquipImprove,
    HeroImprove
}

/// <summary>
/// 安全区域
/// </summary>
public enum SafeZoneType
{
    Triangle,
    Circle,
    Rectangle
}
public enum FieldStateCode
{
    Success = 1,
    DistanceTooFar = 2001,
    PlayerInBattle = 2002,
    NotExist = 2003,
    Refresh = 2004,
    OtherPlayer = 2005,
    StateNotOpt = 2006,
    PlayerInSafe = 2007,
}




public enum EnterGameCheckPointEnum
{
    PlayEnterGameAnim,          // 开始播放开场动画
    EnterGameBattleBegin,       // 进入开场战斗，开始对话
    EnterGameBattleBeginTalkEnd,    // 进入开场战斗，结束对话
    GuideFirstSkill,            // 引导释放第一个技能
    GuideSecondSkill,           // 引导释放第二个技能
    GuideAutoFight,             // 引导自动战斗
    GuideUltimateSkill1,        // 引导释放第一个大招
    GuideUltimateSkill2,        // 引导释放第二个大招
    GuideUltimateSkill3,        // 引导释放第三个大招
    EnterGameBattleEnd,         // 结束开场战斗，开始对话
    EnterGameBattleEndTalkEnd,  // 结束开场战斗，结束对话
    PlayAudioBegin,             // 视频播放开始打点 （！！！！！！与End一个含义）
    PlayAudioEnd,               // 视频播放结束打点
    EnterLogo,                  // 显示公司logo
}

/// <summary>
/// 分支引导服务器对应的数字
/// </summary>
public enum GuideTagType
{
    firstMineRefine = 1,
    firstGemMake = 2,
    firstFishCooking = 3,
    firstEatFish = 4,
    firstGemMount = 5,
}

public enum ResourceUpdateMethod
{
    NO_UPDATE = 0,
    FORCE_UPDATE = 1,
    SLIENCE_UPDATE = 2,
}

public enum UserUpdateMethod
{
    NONE = 0,
    CONTINUE = 1,
    PAUSE = 2,
}

public static class ServerScene
{
    public const string Town = "town_main";
    public const string Union = "town_union";
    public const string Field = "town_side_";
    public const string Raid = "worldboss_";
    public const string UnionFight = "fight_union";
}


public static class BOOL
{
    public const int TRUE = 1;
    public const int FALSE = 0;
}

public static class UnionTab
{
    public const string Info="0";
    public const string Member = "1";
    public const string Store = "2";
    public const string Shop = "3";
    public const string Hero = "4";
    public const string Tree = "5";
    public const string Church = "6";
    public const string Fight = "7";
}
#region 公会战
public static class UnionFight
{
    public const int UnionFightState = 1;
    public const int UnionActorState = 2;
    public const int UnionChariotState = 3;
    public const int UnionChariotFactoryState = 4;
    public const int UnionTowerState = 5;
    public const int UnionGateState = 6;
    public const int UnionGuardState = 7;
    public const int UnionMonsterState = 8;
}


public enum UnionFightState //公会战状态
{
    None=0,
    Ready=1,
    Fight=2,
    End=3,
}

public enum UnionActorState //角色状态
{
    None= -1,
    Stand = 0,
    Attack = 1,
    Mining = 2,
    Death = 3,
    Transfer =4,
    Move,
    Defend,
    Cutting,
    Revive,//复活状态
    Sing,//吟唱
    UseItem,//使用物品
}

public enum UnionChariotState //战车状态
{
    None,
    Stand,
    Attack,
    Death,
    Move,
}

public enum UnionChariotFactoryState//战车工厂状态
{
    None=-1,
    Actived=0,//播放IDle动画
    PrepareComplete = 1,
    Unactived=2,//重新组装工厂
    Complete =3,//完成
}

public enum UnionTowerState //防御塔状态
{
    None=-1,
    Actived = 0,
    Unactived =1,

}

public enum UnionGateState //城门状态
{
    None,
    Normal,
    Destroy,
}

public enum UnionGuardState //守卫状态
{
    
    Stand=0,
    Attack=1,
    Death=2,
    Move,
    None,
}

public enum UnionMonsterState//公会野怪状态
{
    Stand=0,
    Attack=1,
    Death=2,
    None,
    Move,
}

#endregion